// pages/activity/list/list.js
import {
  getActivityList
} from '../../../api/activity'
import {
  getActivityOptions
} from '../../../api/other'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    currentId: 1,
    options: [],
    courseList: [],
    classifyId: '',
    pageNo: 1,
    secondOptions: []
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.loadOptions()
  },
  /**
   * 加载课程列表
   */
  loadCourseList() {
    getActivityList(this.data.classifyId, this.data.pageNo).then(res => {
      this.setData({
        courseList: this.data.courseList.concat(res.list),
        rowCount: res.rowCount
      })
    })

  },

  /**
   * 装填侧边栏
   */
  loadOptions() {
    let res;
    getActivityOptions().then(res => {
      this.setData({
        options: res,
        currentId: res[0].id
      })
      this.loadSecondOptions(res[0].id);
    })
  },

  /**
   * 装填二级滑块
   * @param {number} id 父级 ID
   */
  loadSecondOptions(id) {
    for (let item of this.data.options) {
      if (item.id === id) {
        this.setData({
          secondOptions: item.subClassifys
        })
        this.handleSelectSecondOptions({
          detail: {
            id: item.subClassifys[0].id
          }
        })
        return
      }
    }
  },

  /**
   * 侧边栏选中
   */
  handleChangeOption(e) {
    const {
      id
    } = e.currentTarget.dataset;
    if (id == null || this.data.currentId === id) {
      return
    }
    this.setData({
      currentId: id,
    })
    this.loadSecondOptions(id);
  },

  /**
   * 二级类目选中
   * @param {object} e 
   */
  handleSelectSecondOptions(e) {
    this.data.classifyId = e.detail.id;

    // TODO 请求数据
    this.data.pageNo = 1;
    this.data.courseList.length = 0;
    this.loadCourseList();
  },

  /**
   * 滚动到底部
   * @param {object} e 
   */
  handleScrollBottom(e) {
    if (this.data.rowCount > this.data.courseList.length) {
      this.data.pageNo += 1;
      this.loadCourseList();
    }
  },
  jumpToDetails(e) {
    const {
      id
    } = e.currentTarget.dataset;
    wx.navigateTo({
      url: '/pages/activity/details/details?isMine=0&id=' + id,
    })
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})